# 编写⼀个名为 Privileges 的类，它只有⼀个属性
# privileges，其中存储了练习 9.7 所述的字符串列表。将⽅法
# show_privileges() 移到这个类中。在 Admin 类中，将⼀个
# Privileges 实例⽤作其属性。创建⼀个 Admin 实例，并使⽤⽅法
# show_privileges() 来显⽰权限。
class Privileges():
    def __init__(self, *privileges):
        self.privileges = privileges

    def show_privileges(self):
        print('包含的权限如下:')
        for item in self.privileges:
            print(item)


class User:
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

    def describe_user(self):
        print(f'用户的名字是{self.first_name} {self.last_name}')

    def greet_user(self):
        print(f'Hello {self.first_name} {self.last_name}')


class Admin(User):
    def __init__(self, first_name, last_name):
        super().__init__(first_name, last_name)
        self.show_privileges = Privileges('can add post', 'can delete post', 'can ban user')


admin = Admin('huang', 'peng')

admin.show_privileges.show_privileges()
